應(yīng)用程序發(fā)布自動(dòng)化 (ARA) - 也稱為應(yīng)用程序發(fā)布編排 - 是當(dāng)代 DevOps 團(tuán)隊(duì)在軟件開發(fā)生命周期中實(shí)踐 CI/CD 的主要要求。持續(xù)集成和持續(xù)交付 (CI/CD) 允許企業(yè)在生產(chǎn)中快速向軟件應(yīng)用程序推出新功能,或者在幾乎沒有停機(jī)時(shí)間的情況下應(yīng)用安全補(bǔ)丁。
應(yīng)用程序發(fā)布自動(dòng)化 (ARA) 允許敏捷軟件開發(fā)團(tuán)隊(duì)使用版本控制實(shí)用程序跨工作站協(xié)作編程。軟件的 Web 服務(wù)器配置可以標(biāo)準(zhǔn)化,以跨公共云硬件供應(yīng)商部署在容器中。應(yīng)用程序發(fā)布自動(dòng)化 (ARA) 通過更好的代碼測(cè)試和安全性加快了軟件開發(fā)過程。
應(yīng)用程序發(fā)布自動(dòng)化的關(guān)鍵組件
應(yīng)用程序發(fā)布自動(dòng)化 (ARA) 平臺(tái)在整個(gè)軟件開發(fā)生命周期中可用的集成支持?jǐn)?shù)量不同;大多數(shù)需要安裝在桌面工作站上。以下是 ARA 平臺(tái)的幾個(gè)關(guān)鍵組件:
- 軟件編程團(tuán)隊(duì)的版本控制
- 發(fā)布計(jì)劃
- 版本控制
- 基于沙盒的代碼測(cè)試
- 工件管理
- 儀表板分析
ARA 平臺(tái)需要 網(wǎng)絡(luò)監(jiān)控 集成以進(jìn)行預(yù)定部署,例如 Web 服務(wù)器的安全補(bǔ)丁。應(yīng)用程序發(fā)布編排 (ARO) 現(xiàn)在通常基于 Docker 容器虛擬化、全映像磁盤打印、Git 版本控制、用于命令行的 Puppet 腳本和 用于 Web 服務(wù)器虛擬化的Kubernetes 。此架構(gòu)支持企業(yè)級(jí) Web 流量。
應(yīng)用程序發(fā)布自動(dòng)化的好處
敏捷性和速度:軟件編程團(tuán)隊(duì)通過采用應(yīng)用程序發(fā)布自動(dòng)化 (ARA) 從敏捷性和上市速度中受益。版本控制有助于團(tuán)隊(duì)在為啟動(dòng)應(yīng)用程序編程或在生產(chǎn)中維護(hù)現(xiàn)有 Web/移動(dòng)應(yīng)用程序時(shí)進(jìn)行協(xié)調(diào)。自動(dòng)化代碼測(cè)試和沙盒環(huán)境是大多數(shù) ARA 平臺(tái)的標(biāo)準(zhǔn)配置,作為對(duì) DevOps 團(tuán)隊(duì)最佳實(shí)踐的支持。
簡單、可靠的更新:在滾動(dòng)升級(jí)中安排實(shí)時(shí)軟件應(yīng)用程序更新或版本發(fā)布對(duì)于保證 100% 正常運(yùn)行時(shí)間非常重要。無需離線即可更新基于容器的應(yīng)用程序。ARA 軟件可用于管理整個(gè)軟件開發(fā)過程。這包括使用為 Kubernetes 容器預(yù)先部署的代碼制作完整的 Web 服務(wù)器堆棧軟件的磁盤映像打印。
應(yīng)用程序發(fā)布自動(dòng)化工具
VMware的 vRealize Code Stream 實(shí)用程序主要與 Microsoft 的 Visual Studio 套件競(jìng)爭 ARA 領(lǐng)域的市場(chǎng)份額。許多 DevOps 團(tuán)隊(duì)使用基于 IDE 平臺(tái)和開源命令行實(shí)用程序的混合方法。Jenkins、Puppet、TravisCI、Ansible 和 Spinnaker 是一些最受歡迎的。大多數(shù) DevOps 團(tuán)隊(duì)通過 GitHub 或 GitLab 運(yùn)行 ARA 工作流。
所有主要的公共云主??機(jī)(AWS、Microsoft Azure、Google、IBM、Oracle、HP 等)都擁有可用于企業(yè)軟件開發(fā)和生命周期管理的專有 ARA 平臺(tái)。這些平臺(tái)包括與自動(dòng)化 Web 服務(wù)器配置、代碼測(cè)試、計(jì)劃部署和調(diào)試實(shí)用程序集成的 IDE。所有公共云主機(jī)現(xiàn)在都提供原生 Kubernetes 支持。VMware 和 RackSpace 等公司也有適用于 AWS EC2 的 ARA PaaS 工具。